package com.qidianit.mes.sys.controller;

import com.qidianit.common.pojo.MESResult;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;

/**
 * @Author 奇幻夜之梦
 * @Company 起点编程
 * @Description
 * @Time 2024/10/28 20:26
 */
@RestController
@RequestMapping("/upload")
public class UploadController {
    private String fileDir = "E:\\shixun\\myXM\\qd-mes\\imgs\\";
    // springMVC中我们可以通过MultipartFile类型的对象来接收一个上传的文件数据
    @RequestMapping
    public MESResult upload(@RequestParam(name = "uploadFile") MultipartFile uploadFile){
        // 注意：这里的MultipartFile并不是java.io中的File。
        // MultipartFile提供了一些API，方便我们处理这个临时文件。
        //-----方案1--------------------
        // 我们可以通过MultipartFile获取一个指向临时文件的输入流
//        InputStream in = uploadFile.getInputStream();
//        OutputStream out = new FileOutputStream("D:\\temp\\head.jpg");
        // 文件拷贝操作
        // 方案2 ---------
        // MultipartFile提供了拷贝文件的API,我们可以通过这些API直接实现文件拷贝操作
        try {
            uploadFile.transferTo(new File(fileDir + "head.jpg"));
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
        return MESResult.success();
    };
}